#ifndef _singleton_h__
#define _singleton_h__

namespace gecko
{

// Templated class to provide singleton services.
template<typename T>
class Singleton
{
public:
	// Get a reference to the global instance.
	static T& Get();
};

template<typename T>
T& Singleton<T>::Get()
{
	static T s_Instance;
	return s_Instance;
}

}

#endif
